package com.r2coding.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.r2coding.article.entity.ArticleEntity;
import com.r2coding.article.vo.req.ArticleReqVo;
import com.r2coding.article.vo.req.QueryArticleReqVo;
import com.r2coding.article.vo.req.UpdateArticleReqVo;
import com.r2coding.article.vo.resp.*;
import com.r2coding.common.util.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author 98k灬
 * @email hk666zx@163.com
 * @date 2022-04-12 23:41:38
 */
public interface ArticleService extends IService<ArticleEntity> {

    PageUtils queryPage(Map<String, Object> params);

    void saveArticle(ArticleReqVo vo);

    PageInfo<QueryArticleRespVo> queryList(QueryArticleReqVo vo);

    void release(Integer id);

    QueryArticleRespVo queryById(Integer id);

    CategoryAndLabelsRespVo getCategoryAndLabelByArticleId(Integer id);

    ArticleListRespVo queryClientList(QueryArticleReqVo vo);

    BaseVo selectBase();

    void deleteArticle(Integer id);

    void updateArticle(UpdateArticleReqVo vo);

    void thumhup(Integer articleId, Integer count);

    List<ArticleEntity> getRecommend();

    List<VisitNumRespVo> getVisitNum();

    List<ArticleEntity> newArticle(Integer id);

    PageInfo<ArticleEntity> getArchives(QueryArticleReqVo req);
}

